#ifndef DISK_IO_H
#define DISK_IO_H

#include "storage_system.h"
#include "page_manager.h"
#include <stdint.h>

// 磁盘IO操作接口
storage_error_t disk_load_page(const char* data_dir, page_id_t page_id, uint8_t* buffer);
storage_error_t disk_save_page(const char* data_dir, page_id_t page_id, const uint8_t* data);
storage_error_t disk_delete_page(const char* data_dir, page_id_t page_id);

// 文件路径辅助函数
char* disk_get_page_filename(const char* data_dir, page_id_t page_id);

// 页面分配辅助函数 - 这是我们之前添加的
page_id_t page_manager_force_allocate(page_manager_t* manager, page_id_t desired_id);

#endif // DISK_IO_H